Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[system] Improve breakpoints types #20753

Merged
merged 3 commits into from
Apr 27, 2020
Merged

Conversation

tarakan85
Copy link
Contributor

Hi guys. Your awesome material-ui-system package allows doing this:

const composedStyle = breakpoints(
    css(
        compose(
            borders,
            display,
            flexbox,
            palette,
            positions,
            shadows,
            sizing,
            spacing,
            typography
        )
    )
)

const Box = styled.div`
    ${composedStyle}
`

// use component
const Compoennt = () => (
    <Box sm={{ width: 500, css: { height: 800 } }}>Hello World!</Box>
)

But current typescript implementation breaks everything.

// Property 'css' is missing, css prop is a must
const Compoennt = () => (
    <Box sm={{ width: 500, css: { height: 800 } }}>Hello World!</Box>
)

// I just added height prop, breakpoints function type doesn't allow 
// adding props as args of styled functions i.e. borders, display, flexbox, etc.
const Compoennt = () => (
    <Box height={800} sm={{ width: 500, css: { height: 800 } }}>
        Hello World!
    </Box>
)

@tarakan85 tarakan85 changed the title fix index.ts material-ui-system fix index.ts Apr 26, 2020
@tarakan85 tarakan85 changed the title material-ui-system fix index.ts [material-ui-system] fix index.ts Apr 26, 2020
@mui-pr-bot
Copy link

mui-pr-bot commented Apr 26, 2020

Details of bundle changes.

Comparing: 3e5fd3c...360bfa9

Details of page changes
bundle Size Change Size Gzip Change Gzip
/blog/october-2019-update ▼ -10 B (-0.40% ) 2.5 kB -- -1 B
/components/pickers ▲ +10 B (+0.17% ) 6.01 kB -- -1 B
/_app -- 37 kB -- -1 B
/api-docs/alert-title -- 1.4 kB -- -1 B
/api-docs/alert -- 2.4 kB -- -1 B
/api-docs/app-bar -- 1.94 kB -- -1 B
/api-docs/autocomplete -- 4.54 kB -- -1 B
/api-docs/avatar-group -- 1.51 kB -- -1 B
/api-docs/avatar -- 1.86 kB -- -1 B
/api-docs/backdrop -- 1.72 kB -- -1 B
/api-docs/badge -- 2.13 kB -- -1 B
/api-docs/bottom-navigation-action -- 1.81 kB -- -1 B
/api-docs/bottom-navigation -- 1.7 kB -- -1 B
/api-docs/breadcrumbs -- 1.84 kB -- -1 B
/api-docs/button-base -- 2.33 kB -- -1 B
/api-docs/button-group -- 2.23 kB -- -1 B
/api-docs/button -- 2.56 kB -- -1 B
/api-docs/card-action-area -- 1.58 kB -- -1 B
/api-docs/card-actions -- 1.47 kB -- -1 B
/api-docs/card-content -- 1.45 kB -- -1 B
/api-docs/card-header -- 1.78 kB -- -1 B
/api-docs/card-media -- 1.69 kB -- -1 B
/api-docs/card -- 1.5 kB -- -1 B
/api-docs/checkbox -- 2.3 kB -- -1 B
/api-docs/chip -- 2.46 kB -- -1 B
/api-docs/circular-progress -- 2.07 kB -- -1 B
/api-docs/click-away-listener -- 1.37 kB -- -1 B
/api-docs/collapse -- 2.02 kB -- -1 B
/api-docs/container -- 1.86 kB -- -1 B
/api-docs/css-baseline -- 1.4 kB -- -1 B
/api-docs/dialog-actions -- 1.47 kB -- -1 B
/api-docs/dialog-content-text -- 1.48 kB -- -1 B
/api-docs/dialog-content -- 1.45 kB -- -1 B
/api-docs/dialog-title -- 1.49 kB -- -1 B
/api-docs/dialog -- 2.73 kB -- -1 B
/api-docs/divider -- 1.81 kB -- -1 B
/api-docs/drawer -- 2.13 kB -- -1 B
/api-docs/expansion-panel-actions -- 1.49 kB -- -1 B
/api-docs/expansion-panel-details -- 1.41 kB -- -1 B
/api-docs/expansion-panel-summary -- 1.72 kB -- -1 B
/api-docs/expansion-panel -- 1.97 kB -- -1 B
/api-docs/fab -- 2.11 kB -- -1 B
/api-docs/fade -- 1.39 kB -- -1 B
/api-docs/filled-input -- 2.87 kB -- -1 B
/api-docs/form-control-label -- 1.98 kB -- -1 B
/api-docs/form-control -- 2.36 kB -- -1 B
/api-docs/form-group -- 1.55 kB -- -1 B
/api-docs/form-helper-text -- 1.91 kB -- -1 B
/api-docs/form-label -- 1.84 kB -- -1 B
/api-docs/grid-list-tile-bar -- 1.8 kB -- -1 B
/api-docs/grid-list-tile -- 1.72 kB -- -1 B
/api-docs/grid-list -- 1.62 kB -- -1 B
/api-docs/grid -- 2.56 kB -- -1 B
/api-docs/grow -- 1.44 kB -- -1 B
/api-docs/hidden -- 1.53 kB -- -1 B
/api-docs/icon-button -- 2.1 kB -- -1 B
/api-docs/icon -- 1.78 kB -- -1 B
/api-docs/input-adornment -- 1.93 kB -- -1 B
/api-docs/input-base -- 2.95 kB -- -1 B
/api-docs/input-label -- 2.07 kB -- -1 B
/api-docs/input -- 2.83 kB -- -1 B
/api-docs/linear-progress -- 2.03 kB -- -1 B
/api-docs/link -- 1.93 kB -- -1 B
/api-docs/list-item-avatar -- 1.5 kB -- -1 B
/api-docs/list-item-icon -- 1.51 kB -- -1 B
/api-docs/list-item-secondary-action -- 1.47 kB -- -1 B
/api-docs/list-item-text -- 1.79 kB -- -1 B
/api-docs/list-item -- 2.25 kB -- -1 B
/api-docs/list-subheader -- 1.77 kB -- -1 B
/api-docs/list -- 1.68 kB -- -1 B
/api-docs/menu-item -- 1.74 kB -- -1 B
/api-docs/menu-list -- 1.57 kB -- -1 B
/api-docs/menu -- 2.4 kB -- -1 B
/api-docs/mobile-stepper -- 1.93 kB -- -1 B
/api-docs/modal -- 2.42 kB -- -1 B
/api-docs/native-select -- 2.08 kB -- -1 B
/api-docs/no-ssr -- 1.3 kB -- -1 B
/api-docs/outlined-input -- 2.98 kB -- -1 B
/api-docs/pagination-item -- 1.97 kB -- -1 B
/api-docs/pagination -- 2.24 kB -- -1 B
/api-docs/paper -- 1.87 kB -- -1 B
/api-docs/popover -- 2.69 kB -- -1 B
/api-docs/popper -- 1.91 kB -- -1 B
/api-docs/portal -- 1.34 kB -- -1 B
/api-docs/radio-group -- 1.45 kB -- -1 B
/api-docs/radio -- 2.12 kB -- -1 B
/api-docs/rating -- 2.49 kB -- -1 B
/api-docs/root-ref -- 1.41 kB -- -1 B
/api-docs/scoped-css-baseline -- 1.4 kB -- -1 B
/api-docs/select -- 2.94 kB -- -1 B
/api-docs/skeleton -- 1.77 kB -- -1 B
/api-docs/slide -- 1.54 kB -- -1 B
/api-docs/slider -- 3.11 kB -- -1 B
/api-docs/snackbar-content -- 1.61 kB -- -1 B
/api-docs/snackbar -- 2.71 kB -- -1 B
/api-docs/speed-dial-action -- 2.04 kB -- -1 B
/api-docs/speed-dial-icon -- 1.55 kB -- -1 B
/api-docs/speed-dial -- 2.3 kB -- -1 B
/api-docs/step-button -- 1.63 kB -- -1 B
/api-docs/step-connector -- 1.54 kB -- -1 B
/api-docs/step-content -- 1.72 kB -- -1 B
/api-docs/step-icon -- 1.57 kB -- -1 B
/api-docs/step-label -- 1.9 kB -- -1 B
/api-docs/step -- 1.64 kB -- -1 B
/api-docs/stepper -- 1.84 kB -- -1 B
/api-docs/svg-icon -- 2.26 kB -- -1 B
/api-docs/swipeable-drawer -- 2 kB -- -1 B
/api-docs/switch -- 2.46 kB -- -1 B
/api-docs/tab -- 1.99 kB -- -1 B
/api-docs/table-body -- 1.47 kB -- -1 B
/api-docs/table-cell -- 2.13 kB -- -1 B
/api-docs/table-container -- 1.48 kB -- -1 B
/api-docs/table-footer -- 1.47 kB -- -1 B
/api-docs/table-head -- 1.46 kB -- -1 B
/api-docs/table-pagination -- 2.46 kB -- -1 B
/api-docs/table-row -- 1.69 kB -- -1 B
/api-docs/table-sort-label -- 1.83 kB -- -1 B
/api-docs/table -- 1.68 kB -- -1 B
/api-docs/tabs -- 2.53 kB -- -1 B
/api-docs/text-field -- 3.18 kB -- -1 B
/api-docs/textarea-autosize -- 1.13 kB -- -1 B
/api-docs/toggle-button-group -- 1.86 kB -- -1 B
/api-docs/toggle-button -- 1.8 kB -- -1 B
/api-docs/toolbar -- 1.65 kB -- -1 B
/api-docs/tooltip -- 2.54 kB -- -1 B
/api-docs/tree-item -- 1.79 kB -- -1 B
/api-docs/tree-view -- 1.92 kB -- -1 B
/api-docs/typography -- 2.59 kB -- -1 B
/api-docs/zoom -- 1.41 kB -- -1 B
/blog/2019-developer-survey-results -- 6.36 kB -- -1 B
/blog/2019 -- 4.24 kB -- -1 B
/blog/2020-introducing-sketch -- 3.49 kB -- -1 B
/blog/2020-q1-update -- 4.33 kB -- -1 B
/blog/april-2019-update -- 3.13 kB -- -1 B
/blog/august-2019-update -- 2.24 kB -- -1 B
/blog/december-2019-update -- 2.37 kB -- -1 B
/blog/july-2019-update -- 2.13 kB -- -1 B
/blog/june-2019-update -- 2.01 kB -- -1 B
/blog/march-2019-update -- 2.54 kB -- -1 B
/blog/material-ui-v1-is-out -- 6.67 kB -- -1 B
/blog/material-ui-v4-is-out -- 9.69 kB -- -1 B
/blog/may-2019-update -- 2.35 kB -- -1 B
/blog/november-2019-update -- 2.75 kB -- -1 B
/blog/september-2019-update -- 2.68 kB -- -1 B
/company/about -- 1.74 kB -- -1 B
/company/contact -- 1.33 kB -- -1 B
/company/jobs -- 1.35 kB -- -1 B
/components/about-the-lab -- 6.08 kB -- -1 B
/components/alert -- 12.5 kB -- -1 B
/components/app-bar -- 30 kB -- -1 B
/components/autocomplete -- 99.9 kB -- -1 B
/components/avatars -- 8.77 kB -- -1 B
/components/backdrop -- 3.57 kB -- -1 B
/components/badges -- 15.4 kB -- -1 B
/components/bottom-navigation -- 6.27 kB -- -1 B
/components/box -- 8.05 kB -- -1 B
/components/breadcrumbs -- 14.7 kB -- -1 B
/components/button-group -- 7.31 kB -- -1 B
/components/buttons -- 26.2 kB -- -1 B
/components/cards -- 17.2 kB -- -1 B
/components/checkboxes -- 16.3 kB -- -1 B
/components/chips -- 21.8 kB -- -1 B
/components/click-away-listener -- 4.46 kB -- -1 B
/components/container -- 3.72 kB -- -1 B
/components/css-baseline -- 6.74 kB -- -1 B
/components/dialogs -- 42.8 kB -- -1 B
/components/dividers -- 12.7 kB -- -1 B
/components/drawers -- 31.5 kB -- -1 B
/components/expansion-panels -- 20.4 kB -- -1 B
/components/floating-action-button -- 10.4 kB -- -1 B
/components/grid-list -- 12.1 kB -- -1 B
/components/grid -- 32.4 kB -- -1 B
/components/hidden -- 10.6 kB -- -1 B
/components/icons -- 24.7 kB -- -1 B
/components/links -- 6.91 kB -- -1 B
/components/lists -- 26.5 kB -- -1 B
/components/material-icons -- 729 kB -- -1 B
/components/menus -- 24.9 kB -- -1 B
/components/modal -- 11.9 kB -- -1 B
/components/no-ssr -- 5.11 kB -- -1 B
/components/pagination -- 9.45 kB -- -1 B
/components/paper -- 3.49 kB -- -1 B
/components/popover -- 17.4 kB -- -1 B
/components/popper -- 23.4 kB -- -1 B
/components/portal -- 3 kB -- -1 B
/components/progress -- 21 kB -- -1 B
/components/radio-buttons -- 14.8 kB -- -1 B
/components/rating -- 10.8 kB -- -1 B
/components/selects -- 30.8 kB -- -1 B
/components/skeleton -- 10.2 kB -- -1 B
/components/slider -- 15.6 kB -- -1 B
/components/snackbars -- 28.6 kB -- -1 B
/components/speed-dial -- 14.4 kB -- -1 B
/components/steppers -- 36.6 kB -- -1 B
/components/switches -- 16.4 kB -- -1 B
/components/tables -- 139 kB -- -1 B
/components/tabs -- 19.8 kB -- -1 B
/components/text-fields -- 54.7 kB -- -1 B
/components/textarea-autosize -- 2.94 kB -- -1 B
/components/toggle-button -- 10.5 kB -- -1 B
/components/tooltips -- 16.5 kB -- -1 B
/components/transfer-list -- 9.68 kB -- -1 B
/components/transitions -- 11.5 kB -- -1 B
/components/tree-view -- 11.2 kB -- -1 B
/components/typography -- 9.91 kB -- -1 B
/components/use-media-query -- 12.9 kB -- -1 B
/customization/breakpoints -- 15.6 kB -- -1 B
/customization/color -- 20.9 kB -- -1 B
/customization/components -- 38.4 kB -- -1 B
/customization/default-theme -- 8.8 kB -- -1 B
/customization/density -- 9.75 kB -- -1 B
/customization/globals -- 4.72 kB -- -1 B
/customization/palette -- 13.3 kB -- -1 B
/customization/spacing -- 2.61 kB -- -1 B
/customization/theming -- 16.8 kB -- -1 B
/customization/typography -- 11.5 kB -- -1 B
/customization/z-index -- 3.13 kB -- -1 B
/discover-more/backers -- 2.94 kB -- -1 B
/discover-more/changelog -- 1.44 kB -- -1 B
/discover-more/languages -- 3.43 kB -- -1 B
/discover-more/related-projects -- 7.95 kB -- -1 B
/discover-more/roadmap -- 3.72 kB -- -1 B
/discover-more/showcase -- 13.4 kB -- -1 B
/discover-more/team -- 6.61 kB -- -1 B
/discover-more/vision -- 6.59 kB -- -1 B
/getting-started/example-projects -- 6.8 kB -- -1 B
/getting-started/faq -- 36.1 kB -- -1 B
/getting-started/installation -- 7.85 kB -- -1 B
/getting-started/learn -- 8.9 kB -- -1 B
/getting-started/support -- 8.95 kB -- -1 B
/getting-started/supported-components -- 6.42 kB -- -1 B
/getting-started/supported-platforms -- 5.76 kB -- -1 B
/getting-started/templates -- 8.91 kB -- -1 B
/getting-started/templates/album -- 5.58 kB -- -1 B
/getting-started/templates/blog -- 7.44 kB -- -1 B
/getting-started/templates/checkout -- 11.2 kB -- -1 B
/getting-started/templates/dashboard -- 8.86 kB -- -1 B
/getting-started/templates/pricing -- 7.8 kB -- -1 B
/getting-started/templates/sign-in-side -- 9.29 kB -- -1 B
/getting-started/templates/sign-in -- 9.53 kB -- -1 B
/getting-started/templates/sign-up -- 9.64 kB -- -1 B
/getting-started/templates/sticky-footer -- 1.54 kB -- -1 B
/getting-started/usage -- 9.58 kB -- -1 B
/guides/api -- 15.8 kB -- -1 B
/guides/composition -- 14.9 kB -- -1 B
/guides/flow -- 2.26 kB -- -1 B
/guides/interoperability -- 16.3 kB -- -1 B
/guides/localization -- 11.5 kB -- -1 B
/guides/migration-v0x -- 7.39 kB -- -1 B
/guides/migration-v3 -- 19.2 kB -- -1 B
/guides/minimizing-bundle-size -- 8.7 kB -- -1 B
/guides/responsive-ui -- 4.27 kB -- -1 B
/guides/right-to-left -- 6.77 kB -- -1 B
/guides/server-rendering -- 8.75 kB -- -1 B
/guides/testing -- 8.61 kB -- -1 B
/guides/typescript -- 14.6 kB -- -1 B
/performance/table-component -- 1.44 kB -- -1 B
/performance/table-emotion -- 8.49 kB -- -1 B
/performance/table-hook -- 2.23 kB -- -1 B
/performance/table-mui -- 4.48 kB -- -1 B
/performance/table-raw -- 613 B -- -1 B
/performance/table-styled-components -- 2.6 kB -- -1 B
/premium-themes/onepirate -- 7.27 kB -- -1 B
/premium-themes/onepirate/forgot-password -- 1.01 kB -- -1 B
/premium-themes/onepirate/privacy -- 4.44 kB -- -1 B
/premium-themes/onepirate/sign-in -- 1.07 kB -- -1 B
/premium-themes/onepirate/sign-up -- 1.12 kB -- -1 B
/premium-themes/onepirate/terms -- 11.8 kB -- -1 B
/premium-themes/paperbase -- 8.95 kB -- -1 B
/styles/advanced -- 33.3 kB -- -1 B
/styles/api -- 17 kB -- -1 B
/styles/basics -- 16.5 kB -- -1 B
/system/api -- 5.96 kB -- -1 B
/system/basics -- 27.4 kB -- -1 B
/system/borders -- 4.1 kB -- -1 B
/system/display -- 6.55 kB -- -1 B
/system/flexbox -- 5.85 kB -- -1 B
/system/palette -- 4.35 kB -- -1 B
/system/positions -- 2.53 kB -- -1 B
/system/shadows -- 3.85 kB -- -1 B
/system/sizing -- 3.53 kB -- -1 B
/system/spacing -- 6.01 kB -- -1 B
/system/typography -- 4.41 kB -- -1 B
/versions -- 23.7 kB -- -1 B
docs:chunk:shared -- 61.6 kB -- -1 B
docs:shared:chunk/commons -- 5.99 kB -- -1 B
docs:shared:chunk/framework -- 42.3 kB -- -1 B
docs:shared:runtime/main -- 6.78 kB -- -1 B
docs:shared:runtime/webpack -- 1.24 kB -- -1 B
bundle Size Change Size Gzip Change Gzip
@material-ui/core -- 372 kB -- 102 kB
@material-ui/core[umd] -- 327 kB -- 94.3 kB
@material-ui/lab -- 203 kB -- 60.3 kB
@material-ui/styles -- 52 kB -- 15.6 kB
@material-ui/system -- 17.2 kB -- 4.52 kB
Alert -- 87.6 kB -- 27.8 kB
AlertTitle -- 68.9 kB -- 21.7 kB
AppBar -- 68.7 kB -- 21.6 kB
Autocomplete -- 136 kB -- 42.8 kB
Avatar -- 69.9 kB -- 21.9 kB
AvatarGroup -- 70.9 kB -- 22.5 kB
Backdrop -- 72.7 kB -- 22.5 kB
Badge -- 70 kB -- 21.9 kB
BottomNavigation -- 67.1 kB -- 21.1 kB
BottomNavigationAction -- 79.8 kB -- 25.4 kB
Box -- 73.6 kB -- 22.4 kB
Breadcrumbs -- 84.8 kB -- 27 kB
Button -- 84 kB -- 25.9 kB
ButtonBase -- 78.3 kB -- 24.7 kB
ButtonGroup -- 87.7 kB -- 27.1 kB
Card -- 67.6 kB -- 21.2 kB
CardActionArea -- 79.4 kB -- 25.2 kB
CardActions -- 66.8 kB -- 21 kB
CardContent -- 66.7 kB -- 20.9 kB
CardHeader -- 69.8 kB -- 22 kB
CardMedia -- 67.1 kB -- 21.1 kB
Checkbox -- 86.5 kB -- 27.5 kB
Chip -- 87 kB -- 26.8 kB
CircularProgress -- 68.8 kB -- 21.7 kB
ClickAwayListener -- 4.16 kB -- 1.66 kB
Collapse -- 77.3 kB -- 22.8 kB
colorManipulator -- 3.88 kB -- 1.52 kB
Container -- 67.9 kB -- 21.3 kB
CssBaseline -- 66.7 kB -- 21 kB
Dialog -- 87.7 kB -- 27.5 kB
DialogActions -- 66.8 kB -- 21 kB
DialogContent -- 66.9 kB -- 21 kB
DialogContentText -- 68.8 kB -- 21.6 kB
DialogTitle -- 69 kB -- 21.7 kB
Divider -- 67.4 kB -- 21.2 kB
docs:/ -- 11.7 kB -- -1 B
docs:/_app -- 37 kB -- -1 B
Drawer -- 89.6 kB -- 27.3 kB
ExpansionPanel -- 76.4 kB -- 24.1 kB
ExpansionPanelActions -- 66.8 kB -- 21 kB
ExpansionPanelDetails -- 66.7 kB -- 20.9 kB
ExpansionPanelSummary -- 82.5 kB -- 26.2 kB
Fab -- 81.1 kB -- 25.4 kB
Fade -- 32.6 kB -- 9.83 kB
FilledInput -- 78.3 kB -- 24.4 kB
FormControl -- 69.1 kB -- 21.6 kB
FormControlLabel -- 70.2 kB -- 22.1 kB
FormGroup -- 66.7 kB -- 20.8 kB
FormHelperText -- 68 kB -- 21.2 kB
FormLabel -- 68.2 kB -- 21.2 kB
Grid -- 69.8 kB -- 22 kB
GridList -- 67.2 kB -- 21.2 kB
GridListTile -- 68.4 kB -- 21.5 kB
GridListTileBar -- 67.9 kB -- 21.3 kB
Grow -- 33.2 kB -- 10.1 kB
Hidden -- 70.7 kB -- 22.3 kB
Icon -- 67.5 kB -- 21.2 kB
IconButton -- 80.5 kB -- 25.2 kB
Input -- 77.3 kB -- 24.2 kB
InputAdornment -- 69.8 kB -- 22.1 kB
InputBase -- 75.4 kB -- 23.7 kB
InputLabel -- 70 kB -- 21.7 kB
LinearProgress -- 70.1 kB -- 21.7 kB
Link -- 71.3 kB -- 22.6 kB
List -- 67 kB -- 20.9 kB
ListItem -- 81.4 kB -- 25.6 kB
ListItemAvatar -- 66.8 kB -- 21 kB
ListItemIcon -- 66.9 kB -- 21 kB
ListItemSecondaryAction -- 66.7 kB -- 21 kB
ListItemText -- 69.7 kB -- 22 kB
ListSubheader -- 67.5 kB -- 21.3 kB
Menu -- 93.3 kB -- 28.8 kB
MenuItem -- 82.5 kB -- 25.9 kB
MenuList -- 70.7 kB -- 22.2 kB
MobileStepper -- 72.6 kB -- 22.9 kB
Modal -- 15 kB -- 5.23 kB
NativeSelect -- 81.6 kB -- 25.9 kB
NoSsr -- 2.18 kB -- 1.03 kB
OutlinedInput -- 79.3 kB -- 24.8 kB
Pagination -- 88.8 kB -- 27.5 kB
PaginationItem -- 85.2 kB -- 26.4 kB
Paper -- 67.1 kB -- 20.9 kB
Popover -- 87.7 kB -- 27.2 kB
Popper -- 28.7 kB -- 10.3 kB
Portal -- 2.87 kB -- 1.29 kB
Radio -- 87.5 kB -- 27.9 kB
RadioGroup -- 68.6 kB -- 21.3 kB
Rating -- 75.3 kB -- 24.3 kB
RootRef -- 4.62 kB -- 1.76 kB
ScopedCssBaseline -- 67.5 kB -- 21.2 kB
Select -- 120 kB -- 35.9 kB
Skeleton -- 67.7 kB -- 21.4 kB
Slide -- 34.6 kB -- 10.4 kB
Slider -- 80.6 kB -- 25.8 kB
Snackbar -- 80.4 kB -- 25.3 kB
SnackbarContent -- 68.2 kB -- 21.3 kB
SpeedDial -- 90.6 kB -- 28.8 kB
SpeedDialAction -- 122 kB -- 38.9 kB
SpeedDialIcon -- 69.3 kB -- 21.8 kB
Step -- 67.4 kB -- 21.2 kB
StepButton -- 86.6 kB -- 27.5 kB
StepConnector -- 67.4 kB -- 21.3 kB
StepContent -- 73.9 kB -- 23.2 kB
StepIcon -- 69.3 kB -- 21.6 kB
StepLabel -- 73.3 kB -- 22.7 kB
Stepper -- 69.6 kB -- 22 kB
styles/createMuiTheme -- 22.2 kB -- 7.71 kB
SvgIcon -- 67.7 kB -- 21.2 kB
SwipeableDrawer -- 97 kB -- 30.5 kB
Switch -- 85.7 kB -- 27.1 kB
Tab -- 80.7 kB -- 25.7 kB
Table -- 67.3 kB -- 21.2 kB
TableBody -- 66.8 kB -- 21 kB
TableCell -- 68.8 kB -- 21.7 kB
TableContainer -- 66.7 kB -- 20.9 kB
TableFooter -- 66.9 kB -- 21 kB
TableHead -- 66.8 kB -- 21 kB
TablePagination -- 147 kB -- 43.3 kB
TableRow -- 67.2 kB -- 21.1 kB
TableSortLabel -- 81.7 kB -- 26 kB
Tabs -- 89.6 kB -- 28.8 kB
TextareaAutosize -- 5.23 kB -- 2.19 kB
TextField -- 129 kB -- 38 kB
ToggleButton -- 80.4 kB -- 25.6 kB
ToggleButtonGroup -- 67.9 kB -- 21.4 kB
Toolbar -- 67 kB -- 21.1 kB
Tooltip -- 106 kB -- 33.7 kB
TreeItem -- 80 kB -- 25.4 kB
TreeView -- 73.1 kB -- 23 kB
Typography -- 68.3 kB -- 21.4 kB
useAutocomplete -- 15 kB -- 5.26 kB
useMediaQuery -- 2.56 kB -- 1.06 kB
useScrollTrigger -- 2.66 kB -- 1.08 kB
Zoom -- 32.6 kB -- 9.82 kB

Generated by 🚫 dangerJS against 360bfa9

@tarakan85 tarakan85 changed the title [material-ui-system] fix index.ts [material-ui-system] fix index.d.ts Apr 26, 2020
Copy link
Member

@eps1lon eps1lon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a test that was breaking without these changes? We have type tests for /system in packages/material-ui-system/src/index.spec.tsx

@eps1lon eps1lon added package: system Specific to @mui/system PR: needs test The pull request can't be merged typescript labels Apr 26, 2020
@oliviertassinari
Copy link
Member

oliviertassinari commented Apr 26, 2020

@nodeTempest I would be cautious with this approach, I'm not aware that we have test cases for it.

@tarakan85
Copy link
Contributor Author

Thank you for feedback. I added breakpointsTest and pointed expected result of my request.

About css prop. Lets take a look look at one of tests:

function cssTest() {
  function styleFunction(props: { color?: string; spacing?: number; theme?: object }) {
    return {};
  }

  const wideOrNarrowStyleFunction = css(styleFunction);

  // narrow
  wideOrNarrowStyleFunction({ theme: {}, css: { color: 'blue', spacing: 2 } });
  // wide, undesire: `css` is required, marking it as optional breaks system/basics/#css-property
  wideOrNarrowStyleFunction({ theme: {}, color: 'blue', spacing: 2, css: {} });
  // wide and narrow
  wideOrNarrowStyleFunction({ theme: {}, css: { color: 'blue', spacing: 2 }, color: 'red' });
}

From second test I see that css prop is required and if you want to omit it you must specify it as css: {}
It also says: "marking it as optional breaks system/basics/#css-property"
Could you please point me where css-property is located?

@@ -56,7 +56,7 @@ export function compose<T extends Array<StyleFunction<any>>>(...args: T): Compos
// css.js
export function css<Props>(
styleFunction: StyleFunction<Props>
): StyleFunction<Props & { css: Omit<Props, 'theme'> }>;
): StyleFunction<Props & { css?: Omit<Props, 'theme'> }>;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about making a different pull request for the css concern? It would also be a good opportunity to add a JavaScript test case for it, I wasn't aware it was even working. Actually, I don't think that we should support it, rather encourage the other way around

@oliviertassinari oliviertassinari changed the title [material-ui-system] fix index.d.ts [system] Improve breakpoints types Apr 27, 2020
@eps1lon
Copy link
Member

eps1lon commented Apr 27, 2020

@nodeTempest Much appreciated, thanks!

@tarakan85
Copy link
Contributor Author

@oliviertassinari @eps1lon Thank you guys, I might create a new PR regarding css prop soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package: system Specific to @mui/system typescript
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants